package com.mjk.common.core.jdbc.ibatis.typehandler.handler;


import com.mjk.common.core.jdbc.ibatis.typehandler.BaseHandler;
import com.mjk.common.util.ClobUtils;
import com.mjk.common.util.ObjectUtils;

import javax.sql.rowset.serial.SerialClob;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.sql.Clob;

public class ClobHandler implements BaseHandler<Clob> {

	@Override
	public String resovleToString(Field f,Clob t) {		
		
		if(ObjectUtils.isEmpty(t)){
            return null;
		}
		return ClobUtils.clobToString(t);
	}

	@Override
	public Clob resovleResult(Object o) {
		if(o instanceof String str){
			return ClobUtils.stringToClob(str);
		}
		if(o instanceof byte[] bytes){
			String clob = new String(bytes);
			return ClobUtils.stringToClob(clob);
		}
		return (Clob)o;
	}

	
}
